(declare-fun c () (Array Int Int))
(declare-fun a () (Array Int Int))
(declare-fun arr () (Array Int Int))
(declare-fun d () Int)
(declare-fun u () Int)
(declare-fun i () Int)
(assert (let ((?g (select arr i))(?e (select a 0))(d d)) (and (forall ((?j Int)) (xor (and (= d u)) (forall ((?f Int)) (<= (select arr ?f) (select arr ?j))))) (<= ?e ?g) (forall ((?h Int)) (= (and (<= d ?h 0)) (= (select arr ?h) 0))) (= (select c d) d))))
(check-sat)
